From 1f6efbf66906350a930fd4766f06bd849a30e96f Mon Sep 17 00:00:00 2001 From: Benjamin Otte Date: Mon, 14 Dec 2015 05:29:35 +0100 Subject: [PATCH] iconhelper: Queue resize on invalidation When things change in the iconhelper, queue a resize on the owner widget so that it automatically resizes. Only do this for iconhelpers that are used as gadgets though, not for temporary helpers - and to check this, check if the node is transient. --- gtk/gtkiconhelper.c | 4 ++++ 1 file changed, 4 insertions(+) diff --git a/gtk/gtkiconhelper.c b/gtk/gtkiconhelper.c index deac87c661..cd31bc62a8 100644 --- a/gtk/gtkiconhelper.c +++ b/gtk/gtkiconhelper.c @@ -28,6 +28,7 @@ #include "gtkcssnodeprivate.h" #include "gtkcssstyleprivate.h" #include "gtkcssstylepropertyprivate.h" +#include "gtkcsstransientnodeprivate.h" #include "gtkiconthemeprivate.h" #include "gtkrendericonprivate.h" #include "deprecated/gtkiconfactoryprivate.h" @@ -55,6 +56,9 @@ gtk_icon_helper_invalidate (GtkIconHelper *self) cairo_surface_destroy (self->priv->rendered_surface); self->priv->rendered_surface = NULL; } + + if (!GTK_IS_CSS_TRANSIENT_NODE (gtk_css_gadget_get_node (GTK_CSS_GADGET (self)))) + gtk_widget_queue_resize (gtk_css_gadget_get_owner (GTK_CSS_GADGET (self))); } static void -- 2.30.2